package com.yuexun.beilunpatient.ui.satisfaction.model;

import com.yuexun.beilunpatient.base.BaseEntity;
import com.yuexun.beilunpatient.ui.satisfaction.bean.SatisfactionAnswerDtlBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.SatisfactionDateBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.SatisfactionDtlBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.SatisfactionTypeBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.StartSatisfactionBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.TemplateBean;
import com.yuexun.beilunpatient.ui.satisfaction.bean.TemplateTypeBean;

import java.util.Map;

import rx.Observable;

/**
 * Created by chenss on 2018/7/31 0031.
 */

public interface ISatisfactionModel {

    /**
     * 查询个人的满意度调查分页列表
     * @param praise
     * @return
     */
    Observable<BaseEntity<SatisfactionDateBean>> inquireUserSurveyPageList(Map<String, String> praise);

    /**
     * 查询模板类型列表
     * @param praise
     * @return
     */
    Observable<BaseEntity<SatisfactionTypeBean>> getSatisfactionTypeList(Map<String, String> praise);

    /**
     * 新建满意度调查参与内容(开始满意度调查)
     * @param praise
     * @return
     */
    Observable<BaseEntity<StartSatisfactionBean>> startSatisfaction(Map<String, String> praise);

    /**
     * 查询满意度调查参与内容详情
     * @param praise
     * @return
     */
    Observable<BaseEntity<SatisfactionAnswerDtlBean>> getSatisfactionAnswerDtl(Map<String, String> praise);

    /**
     * 题库详情
     * @param praise
     * @return
     */
    Observable<BaseEntity<SatisfactionDtlBean>> getSatisfactionDtl(Map<String, String> praise);

    /**
     * 更新满意度调查内容
     * @param praise
     * @return
     */
    Observable<BaseEntity<String>> updateSatisfactionAnswer(Map<String, String> praise);

    /**
     * 模板类型列表
     * @param praise
     * @return
     */
    Observable<BaseEntity<TemplateTypeBean>> inquireSatisfactionTemplateTypeList(Map<String, String> praise);


    /**
     * 模板列表
     * @param praise
     * @return
     */
    Observable<BaseEntity<TemplateBean>> inquireSatisfactionTemplateList(Map<String, String> praise);


    /**
     * 用户发起满意度调查
     * @param praise
     * @return
     */
    Observable<BaseEntity<String>> createSatisfactionByUser(Map<String, String> praise);
}
